267 research outputs found

    How social interactions can affect Modern Code Review

    Get PDF
    Introduction: Modern Code Review (MCR) is a multistage process where developers evaluate source code written by others to enhance the software quality. Despite the numerous studies conducted on the effects of MCR on software quality, the non-technical issues in the MCR process have not been extensively studied. This study aims to investigate the social problems in the MCR process and to find possible ways to prevent them and improve the overall quality of the MCR process.Methodology: To achieve the research objectives, we applied the grounded theory research shaped by GQM approach to collect data on the attitudes of developers from different teams toward MCR. We conducted interviews with 25 software developers from 13 companies to obtain the information necessary to investigate how social interactions affect the code reviewing process.Results: Our findings show that interpersonal relationships within the team can have significant consequences on the MCR process. We also received a list of possible strategies to overcome these problems.Discussion: Our study provides a new perspective on the non-technical issues in the MCR process, which has not been extensively studied before. The findings of this study can help software development teams to address the social problems in the MCR process and improve the overall quality of their software products.Conclusion: This study provides valuable insights into the non-technical issues in the MCR process and the possible ways to prevent them. The findings of this study can help software development teams to improve the MCR process and the quality of their software products. Future research could explore the effectiveness of the identified strategies in addressing the social problems in the MCR process

    Agile methodologies between software development and music production: an empirical study

    Get PDF
    Over the past 20 years agile methodologies revolutionized Information Technology, oering tremendous opportunities for the development of Software Engineering as an independent discipline. More specifically, agile methodologies contributed to enhancing the eectiveness and the speed of the production process as well as to improving the productivity and motivations of software developers organized in high performing teams. The agile philosophy can be and has been applied in dierent contexts and across several domains. This work analyses the relationship between Agile methodologies used by software engineers and the practices pursued by musicians in their daily lives. Our findings suggests that collaborative, strongly planned software development life cycle models (such as Waterfall, V-model, iterative, and Spiral) are not adequate models to describe the daily practices of musical composers. This is because their work requires a lot of flexibility, which such models intrinsically lack, because they are oriented to ensuring some form of monitorable progress. Interestingly, our findings also show that nine out of 12 Agile Principles are consciously or unconsciously followed by musicians in their practices. This suggests that there are some deep connections between these two prima facie dierent fields, which are both very creative. Even though our findings await replication, possibly with larger statistical samples, they contribute to open up a new strand of research in the fi

    A Java Middleware for Guaranteeing Privacy of Distributed Tuple Spaces

    Get PDF
    The tuple space communication model, such as the one used in Linda, provides great flexibility for modeling concurrent, distributed and mobile processes. In a distributed setting with mobile agents, particular attention is needed for protecting sites and information. We have designed and developed a Java middleware, Klava, for implementing distributed tuple spaces and operations to support agent interaction and mobility. In this paper, we extend the Klava middleware with cryptographic primitives that enable encryption and decryption of tuple fields. We describe the actual implementation of the new primitives and provide a few examples. The proposed extension is general enough to be applied to similar Java frameworks using multiple distributed tuples spaces possibly dealing with mobility

    The practice of self-citations: a longitudinal study

    Get PDF
    In this article, we discuss the outcomes of an experiment where we analysed whether and to what extent the introduction, in 2012, of the new research assessment exercise in Italy (a.k.a. Italian Scientific Habilitation) affected self-citation behaviours in the Italian research community. The Italian Scientific Habilitation attests to the scientific maturity of researchers and in Italy, as in many other countries, is a requirement for accessing to a professorship. To this end, we obtained from ScienceDirect 35,673 articles published from 1957 to 2016 by the participants to the 2012 Italian Scientific Habilitation, that resulted in the extraction of 1,379,050 citations retrieved through Semantic Publishing technologies. Our analysis showed an overall increment in author self-citations (i.e. where the citing article and the cited article share at least one author) in several of the 24 academic disciplines considered. However, we depicted a stronger causal relation between such increment and the rules introduced by the 2012 Italian Scientific Habilitation in 10 out of 24 disciplines analysed

    Predicting the results of evaluation procedures of academics

    Get PDF
    Background. The 2010 reform of the Italian university system introduced the National Scientific Habilitation (ASN) as a requirement for applying to permanent professor positions. Since the CVs of the 59,149 candidates and the results of their assessments have been made publicly available, the ASN constitutes an opportunity to perform analyses about a nation-wide evaluation process. Objective. The main goals of this paper are: (i) predicting the ASN results using the information contained in the candidates’ CVs; (ii) identifying a small set of quantitative indicators that can be used to perform accurate predictions. Approach. Semantic technologies are used to extract, systematize and enrich the information contained in the applicants’ CVs, and machine learning methods are used to predict the ASN results and to identify a subset of relevant predictors. Results. For predicting the success in the role of associate professor, our best models using all and the top 15 predictors make accurate predictions (F-measure values higher than 0.6) in 88% and 88.6% of the cases, respectively. Similar results have been achieved for the role of full professor. Evaluation. The proposed approach outperforms the other models developed to predict the results of researchers’ evaluation procedures. Conclusions. Such results allow the development of an automated system for supporting both candidates and committees in the future ASN sessions and other scholars’ evaluation procedures

    Expectation-Oriented Analysis and Design

    Get PDF
    A key challenge for agent-oriented software engineering is to develop and implement open systems composed of interacting autonomous agents. On the one hand, there is a need for permitting autonomy in order to support desirable system properties such as decentralised control. On the other hand, there is a need for restricting autonomy in order to reduce undesirable system properties such as unpredictability. This paper introduces a novel analysis and design method for open agent-oriented software systems that aims at coming up to both of these two contrary aspects. The characteristics of this method, called EXPAND, are as follows: (i) it allows agents a maximum degree of autonomy and restricts autonomous behaviour only if necessary (ii) it uses systemlevel expectations as a key modelling abstraction and as the primary level of analysis and design; and (iii) it is sociologically grounded in Luhmann's systems theory. The application of EXPAND is illustrated in a "car-trading platform" case study

    Modeling Adaptation with Klaim

    Get PDF
    In recent years, it has been argued that systems and applications, in order to deal with their increasing complexity, should be able to adapt their behavior according to new requirements or environment conditions. In this paper, we present an investigation aiming at studying how coordination languages and formal methods can contribute to a better understanding, implementation and use of the mechanisms and techniques for adaptation currently proposed in the literature. Our study relies on the formal coordination language Klaim as a common framework for modeling some well-known adaptation techniques: the IBM MAPE-K loop, the Accord component-based framework for architectural adaptation, and the aspect- and context-oriented programming paradigms. We illustrate our approach through a simple example concerning a data repository equipped with an automated cache mechanism

    Visualizing Z Notation in HTML Documents

    Full text link
    The use of the WWW as a communication medium for software engineers is limited by the lack of tools for writing, sharing, and verifying formal notations. For instance, the Z specification language has a a rich set of mathematical characters, and requires graphic-rich boxes and schemas for its specifications. It is difficult to integrate Z specifications and text on WWW pages written with the current versions of HTML, and traditional tools are not suited for the task. We present a Java-based tool for rendering Z specifications within HTML documents that can be shown on every WWW browser with Java capabilities. Being a complete rendering engine, text parts and Z specifications can be freely intermixed, and all the standard features of HTML (such as links, etc.) are available outside and inside Z specifications. Furthermore, the extensibility of our engine allows additional notations to be supported and integrated with current ones

    Il progetto CampusOne e la certificazione ECDL nelle universit\ue0 italiane

    Get PDF
    Questo articolo presenta i risultati del progetto CampusOne della Conferenza dei Rettori delle Universit\ue0 Italiane (CRUI), con particolare riferimento all\u2019accreditamento delle abilit\ue0 nell\u2019uso degli strumenti informatici di base e alla certificazione ECDL (European Computer Driving Licence). L\u2019articolo analizza il ruolo e la diffusione della certificazione ECDL nelle Universit\ue0 Italiane e discute i metodi di formazione e i criteri adottati per il suo riconoscimento come parte dei percorsi universitari

    Orchestrating Tuple-based Languages

    Get PDF
    The World Wide Web can be thought of as a global computing architecture supporting the deployment of distributed networked applications. Currently, such applications can be programmed by resorting mainly to two distinct paradigms: one devised for orchestrating distributed services, and the other designed for coordinating distributed (possibly mobile) agents. In this paper, the issue of designing a pro- gramming language aiming at reconciling orchestration and coordination is investigated. Taking as starting point the orchestration calculus Orc and the tuple-based coordination language Klaim, a new formalism is introduced combining concepts and primitives of the original calculi. To demonstrate feasibility and effectiveness of the proposed approach, a prototype implementation of the new formalism is described and it is then used to tackle a case study dealing with a simplified but realistic electronic marketplace, where a number of on-line stores allow client applications to access information about their goods and to place orders
    • …
    corecore